package br.com.pfc.application.controller.locais;

import br.com.pfc.application.controller.BaseController;
import br.com.pfc.application.dao.LocalDAO;
import br.com.pfc.application.exceptions.BusinessException;
import br.com.pfc.model.Local;
import org.jboss.seam.ScopeType;
import org.jboss.seam.annotations.Begin;
import org.jboss.seam.annotations.End;
import org.jboss.seam.annotations.FlushModeType;
import org.jboss.seam.annotations.In;
import org.jboss.seam.annotations.Name;
import org.jboss.seam.annotations.Scope;

/**
 *
 * @author mucceli
 */
@Name("localExcluirAction")
@Scope(ScopeType.SESSION)
public class LocalExcluirController extends BaseController{

    @In
    private LocalDAO localDAO;
    private Local local;

    @Begin(flushMode = FlushModeType.MANUAL, join = true)
    public String setup(Local localSelecionado) {
        local = localSelecionado;
        return null;
    }

    @End
    public String excluir(LocalPesquisarController action) {
        try {
            localDAO.excluir(local);
            action.getListaLocais();
            adicionarMensagemInformacao("Local excluído com sucesso!");
        } catch (Exception be) {
            adicionarMensagemErro("Erro ao excluir o local: " + be.getMessage());
        }

        return null;
    }

    @End
    public String cancelar() throws Exception {
        try {
            localDAO.cancelar();
        } catch (BusinessException be) {
            adicionarMensagemErro("Erro ao cancelar: " + be.getMessage());
        }
        return null;
    }

}
